

import CryptoJS from 'crypto-js';


// const key = CryptoJS.enc.Utf8.parse('123123'); // 密钥 后端提供 
// const iv = CryptoJS.enc.Utf8.parse(); // 偏移量
// /**
//  * AES加密 ：字符串 key iv  返回base64
//  */
// export function Encrypt(word) {
//   const srcs = CryptoJS.enc.Utf8.parse(word);
//   const encrypted = CryptoJS.AES.encrypt(srcs, key, {
//     iv: iv,
//     mode: CryptoJS.mode.ECB,
//     padding: CryptoJS.pad.Pkcs7,
//   });
//   return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
// }

// /**
//  * AES 解密 ：字符串 key iv  返回base64
//  *  */
// export function Decrypt(word) {
//   const base64 = CryptoJS.enc.Base64.parse(word);
//   const src = CryptoJS.enc.Base64.stringify(base64);

//   const decrypt = CryptoJS.AES.decrypt(src, key, {
//     iv: iv,
//     mode: CryptoJS.mode.ECB,
//     padding: CryptoJS.pad.Pkcs7,
//   });
// //   let base64Str = CryptoJS.enc.Base64.stringify(decrypt)
// //   let finalStr = CryptoJS.enc.Utf8.stringify(base64Str)
// //   console.log('解密33：',base64Str);
// //   console.log('解密AA；',finalStr);
//   return CryptoJS.enc.Utf8.stringify(decrypt);
// }










// 必须为16、24、32位
const KEY = "4564564564564564";
const IV = "4564564564564564";

/**
 * AES加密 ：字符串 key iv  返回base64
 */
export function Encrypt (word, keyStr = KEY, ivStr = IV) {
  const key = CryptoJS.enc.Utf8.parse(keyStr);
  const iv = CryptoJS.enc.Utf8.parse(ivStr);
  const srcs = CryptoJS.enc.Utf8.parse(word);
  const encrypted = CryptoJS.AES.encrypt(srcs, key, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.ZeroPadding,
  });
  return encrypted.toString();
};

/**
 * AES 解密 ：字符串 key iv  返回base64
 *
 * @return {string}
 */
export function Decrypt (word, keyStr = KEY, ivStr = IV) {
  const key = CryptoJS.enc.Utf8.parse(keyStr);
  const iv = CryptoJS.enc.Utf8.parse(ivStr);
  const decrypt = CryptoJS.AES.decrypt(word, key, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.ZeroPadding,
  });
  return CryptoJS.enc.Utf8.stringify(decrypt);
};